
/* 
编写一个程序，接受用户输入的一个字符串，并将该字符串中的空格去除后输出。(原地O(1), 不允许开辟空间)
*/
#include <stdio.h>  
#include <string.h>  
#define BUFFER_SIZE 100
  
char removeSpaces(char *str)
{  
    if (str == NULL)
    {  
        return;  
    }  
  
    int length = strlen(str);  
    int writeIndex = 0; // 指向非空格字符应存放的位置  
  
    /* 遍历字符串，去除空格  */
    for (int readIndex = 0; readIndex < length; readIndex++)
    {  
        if (str[readIndex] != ' ')
        {  
            str[writeIndex++] = str[readIndex];  
        }  
    }  
    str[writeIndex] = '\0';  
}  
  
int main() {  
    char inputStr[BUFFER_SIZE];  
  
    /* 输入的字符串 */ 
    printf("请输入一个字符串：");  
    fgets(inputStr, sizeof(inputStr), stdin);  
  
    /* 去除空格并输出结果  */
    removeSpaces(inputStr);  
    printf("去除空格后的字符串：%s\n", inputStr);  
  
    return 0;  
}
